Page({
  data: {
    userInfo: {
      nickName: '',
      avatar: '',
    },
  },


  onLoad() {
    // 从本地读取用户信息对象
    const userInfo = wx.getStorageSync('userInfo')
    
      this.setData({ userInfo })
    
  },
  // ---------------生命周期钩子函数-end------------------

  // ---------------自定义函数-begin-----------------------
  // 1. 获取用户昵称
  getUserNickName(ev) {
    // console.log(ev.detail.value)
    this.updateNickName(ev.detail.value)
  },

  // 2. 更新用户昵称
  async updateNickName(nickName) {
    // 2.1 发请求
    const { code, data } = await wx.http.put('/userInfo', { nickName })
    if (code !== 10000) return wx.utils.toast('更新昵称失败')
    // 2.2 数据更新
    this.setData({
      'userInfo.nickName': nickName,
    })
  },

  // 3. 获取用户头像信息
  getUserAvatar(ev) {
    // console.log(ev.detail.avatarUrl)
    this.updateUserAvatar(ev.detail.avatarUrl)
  },

  // 4. 上传用户头像
  updateUserAvatar(avatarUrl) {
    wx.uploadFile({
      filePath: avatarUrl,
      name: 'file',
      url: wx.http.baseURL + '/upload',
      formData: {
        type: 'avatar',
      },
      header: {
        Authorization: getApp().token,
      },
      success: (result) => {
        // 1. 转化服务端给回的数据
        const data = JSON.parse(result.data)
        if (data.code !== 10000) return wx.utils.toast('更新头像失败')
        // 2. 更新数据
        this.setData({
          'userInfo.avatar': data.data.url,
        })
      },
    })
  },

})
